約 3,558,072 件
https://w.atwiki.jp/pawa_midi/pages/12.html
今日の訪問者: - 昨日の訪問者: - ここで添付されているmidiはDominoで聞くことができます。 refでmidiを張り付けると添付が反映されない現象が起きる。 ※このページは誰でも編集できます。 ファイルをアップロードしてくださる方、ファイル名は PKP[1~11]_[名前].拡張子 でお願いします。 パワプロクンポケット1 パワプロクンポケット1 ファイル名 奨励音源 サイズ エンディングPKP1_ending_s.dms SGM-V2.01.sf2 秋PKP1_fall_s.dms SGM-V2.01.sf2 冬PKP1_winter_s.dms SGM-V2.01.sf2 名前 コメント すべてのコメントを見る ないす! -- (key) 2009-01-27 17 37 48 てst -- (管理人) 2008-12-21 16 18 23
https://w.atwiki.jp/misw_midi/pages/10.html
MIDIって何? MIDIって何?(旧MIDI研サイトより) 簡単に言ってしまうと、「パソコンで音楽を演奏する手段の一つ」です。MIDIというものを使うと、本当に手軽に音楽の再生や編集ができてしまいます。パソコンで音楽を楽しむのには必要不可欠なものです。もちろん、MIDI研究会では、「MIDIとは何か?」と言ったことから、このMIDIの使い方などを1から教えています。詳しくは下の文章を・・・MIDI(Musical Instrument Digital Interface)とは、電子楽器の演奏情報を送受信するための世界共通のインターフェイス規格です。MIDIに対応した電子楽器や機器にはMIDI端子があり、この端子をMIDIケーブルで接続することで簡単に演奏情報などを別の電子楽器に伝えることができます。1983年に共通規格として制定され、これによってMIDIケーブル一本で接続するだけで異なるメーカーのシンセサイザー同士でも同期演奏が可能となったり、シーケンサーを用いて自動演奏などが可能となるなど画期的なものでした。このように本来は単に電子楽器のインターフェイス規格を表す言葉でしたが、電子楽器や電子機器の発達と普及により、特に最近ではPCを用いた デスクトップミュージック(DTM)の事を表すくらい、一般的な言葉になってきました。さらに詳しい説明については下記のサイトをご覧下さい。http //www.yamaha.co.jp/xg/reading/syokyu/index.html 背景を端折ると、MIDIっていうのを使えば、楽譜と楽器を指定してやるだけで コンピュータが勝手に演奏してくれます、とかそんな話です。
https://w.atwiki.jp/vst_prog/pages/78.html
トップページ MIDIメッセージをprocessReplacing()関数中で処理する方法 前項でprocessEvents()関数によってホストアプリケーションから受け取ったMIDIメッセージをprocessReplacing()関数で処理する方法を記載する。 サンプルコード サンプルコードではロードするとノイズを生成、出力するVSTとなっている。 MIDIのコントロールチェンジメッセージ 7番(ボリュームコントロール)によって出力されるノイズのボリュームを調整している。 void MyMidiSampleVST processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames){//入力、出力は2次元配列で渡される。//入力は-1.0f~1.0fの間で渡される。//出力は-1.0f~1.0fの間で書き込む必要がある。//sampleFramesが処理するバッファのサイズfloat* outL = outputs[0]; //出力 左用float* outR = outputs[1]; //出力 右用 // midieventlistの読み込み位置int midimsg_cursol = 0; for (int i = 0; i sampleFrames; i++){//ここで音声処理を行う。 // MIDIメッセージがあるか確認if ( midimsgnum 0){// MIDIメッセージを処理するタイミングかどうかを確認する。if( midimsgbuf[midimsg_cursol].deltaFrames = i){// MIDIメッセージがコントロールチェンジのボリューム変更(CC7)であった場合if( midimsgbuf[midimsg_cursol].message == 0xB0 midimsgbuf[midimsg_cursol].data1 == 7){volume = (float)( midimsgbuf[midimsg_cursol].data2) / 127.0f;} // midimsgbufからMIDIメッセージを読み出したので// 読み込み位置を進め、MIDIメッセージの数を減らすmidimsgnum--;midimsg_cursol++;}} //出力バッファへ書き込む。outL[i] = volume * (float)((rand() % 256) -128) / 255.0f;outR[i] = volume * (float)((rand() % 256) -128) / 255.0f;}} サンプルコードの解説 まず、MIDIメッセージを保存したバッファ(midimsgbuf)の読み込み位置を初期化とノイズのボリュームの初期化を行っている。(6~10行目) // midieventlistの読み込み位置 int midimsg_cursol = 0; // ノイズのボリューム static float volume = 1.0f; 次に音声処理を行うfor文の中でMIDIメッセージがあるか確認し、ある場合はMIDIメッセージを処理するタイミングかどうかを確認している。(17~34行目) // MIDIメッセージがあるか確認 if ( midimsgnum 0) { // MIDIメッセージを処理するタイミングかどうかを確認する。 if( midimsgbuf[midimsg_cursol].deltaFrames = i) { : : } } MIDIメッセージを処理するタイミングであった場合、通常はMIDIメッセージにあわせて以下のような処理を行う キーのオン、オフ処理 ピッチベンドの処理 コントロールチェンジ処理 今回はMIDIメッセージがコントロールチェンジのボリューム変更(7番)のみを処理し、ノイズのボリュームを変更する処理となっている。(22~27行目) // MIDIメッセージがコントロールチェンジのボリューム変更(CC7)であった場合 if( midimsgbuf[midimsg_cursol].message == 0xB0 midimsgbuf[midimsg_cursol].data1 == 7) { volume = (float)( midimsgbuf[midimsg_cursol].data2) / 127.0f; } MIDIメッセージを処理した場合、MIDIメッセージの数をしめすmidimsgnumを1減らし、同時にmidimsgbufの読み込み位置を1進める(31~32行目) // midimsgbufからMIDIメッセージを読み出したので // 読み込み位置を進め、MIDIメッセージの数を減らす midimsgnum--; midimsg_cursol++; 最後にノイズの生成と音声信号出力バッファへの書き込みを行っている。(37~38行目) outL[i] = volume * (float)((rand() % 256) -128) / 255.0f; outR[i] = volume * (float)((rand() % 256) -128) / 255.0f; 次へ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)
https://w.atwiki.jp/aniwotawiki/pages/49691.html
登録日:2021/11/04 Thu 14 40 01 更新日:2024/04/05 Fri 18 01 09NEW! 所要時間:約 15 分で読めます ▽タグ一覧 30年間不変 DAW DTM MIDI Roland YAMAHA インターネット老人会 インターフェース カラオケ コンピュータ シンセサイザー デスクトップミュージック 作曲 宅録 楽譜 演奏 生きた化石 耳コピ 規格 音楽 目次 概要 音楽ファイルとしてのMIDI 通信規格としてのMIDI MIDIのさらに規格 オタクとMIDI MIDI編集アプリ(作曲アプリ) MIDIのこれから 概要 MIDIとは、Musical Instrument Digital Interface(日本語に訳するなら「楽器デジタルインターフェース」)の略で、 シンセサイザーなどの電子楽器の演奏情報をやりとりする規格のこと。 呼び方は「ミディ」。 「コンピューターのデータによって作られた楽譜」と考えてもらえば大体あってるが、 もう少し踏み込むならば「楽譜の書き方ルール」が近い。 音楽ファイルとしてのMIDI 拡張子は「.mid」。時々「.midi」も見られるがどっちがどう、という違いは特に無い。 多くのPCユーザにとって、MIDIと言われたらまずこれを思い浮かべるはず。 ダブルクリックして開くと、PCに搭載されている音源に読み込まれてプレイヤーが音を鳴らしてくれる。 先ほどMIDIは楽譜のようなものという風に説明したが、当たり前だが楽譜だけでは音は鳴らない。楽器が必要である。 開いて音楽が流れるのは、あくまで貴方のPCに搭載された「音源」が楽譜にそって音を鳴らしているということだ。 実際のMIDIファイルの中身は、テンポ、音の単体(ノートと呼ぶ)の位置や楽器の種類、チャンネルといった情報の集まりである。 音声そのものが入ってはいないので容量は極めて小さい。 ※音源について ここでちょっと解説するが、簡単に言えば音源=楽器である。 大別して現実の楽器のように物理的に存在する「ハードウェア音源」と、 マシン上でプログラムとして存在する「ソフトウェア音源」の二つに分けられる。 PCは見た目では楽器が付属していないが、今の時代はほぼデフォルトでソフトウェア音源が搭載されているので、 midファイルを開くだけで音が鳴るというわけ。 PCの付属音源は2006年発売のWindows系OS「Windows Vista」以降になると、 デフォルト音源が「Microsoft GS Wavetable SW Synth」(通称ゲイツシンセ)に固定されてしまう。 そのため、他に音源が存在することも、音源を変更する方法も知らないのが当たり前となりつつある。 これ以前に作られたMIDIにはこのシンセを想定して作成されていないものも結構あり、普通に再生するだけでは違う楽器で鳴ってしまったり、場合によってはドラムしか鳴らない、全く鳴らないということすらある。 そもそもこのデフォルト音源が率直に言ってショボい。 オーディオサンプルでもない以上個性のある音を作り出すのはほぼ不可能で、カッコいい曲を作るなんてのには全く向いていない。 音源を変えるのもWindowsの標準機能としては付いていないため、結構面倒。 かつてインターネットの回線がまだまだ遅かった頃、音楽データはサイズが大きすぎて配信は難儀だった。 そこで、ファイルを構成しているのが「楽譜データのみ」であるためサイズが極めて軽いMIDIが、ネット上の音楽シーンに流行していた。 もちろん個人に限らず使われており、昔のPCゲームではBGMに使用されていた実績もある。 『RPGツクール2000』『~VX』辺りで製作されたゲームなどでも多数使われていた。 mp3の普及後もループ位置を指定できたり上の「MSGS」音源でも比較的綺麗な音が鳴るように作られているので特にツクール界隈ではごく最近まで現役。 音楽ファイルとしてのMIDIはこのようにパソコン上の音楽文化に華を添えたが、 やがて通信速度の向上とシーンの革命とも言われるmp3の登場によってその時代を終える。 上でも少しずつ触れたが、midは音源次第で音がまったく変わってしまうという特徴≒弱点がある。 GM基準であれば大まかに基礎的なプログラムが割り当てられているのだが、 やがて前述したようにまともな音にならないケースも増えてしまっている。 何より思い通りの音を提供できないことは作曲側にとって非常にストレスである。 著名な音源モジュールを前提に作ったMIDIも多少は広まっていたが、聴き手側に同じ機材を要求してしまう。 (ヘビーユーザーなら86ボードのような扱いと言えば伝わりやすいか)。 こうした経緯ゆえに、「音を音として扱えるがファイルサイズが超莫大なWAVE(.wav)」を圧縮軽量化したmp3技術は革新的だったのである。 軽量なmp3はそれでいて無料のエンコーダ・デコータが普及を後押しし、インターネット上の音楽シーンは急速な入れ替わりが発生。 ユーザーの環境に依存して再生も安定しないMIDIは姿を消していった。 余談であるが、2017年にはmp3の基幹技術はパブリックドメインになっている。 通信規格としてのMIDI MIDIを知りにこの記事を読みにきた人は「なんのこっちゃ?」と思うかもしれないが、 MIDIは楽譜でありつつも、別に楽譜だけが目的ではない。 MIDIとはやりとりできる共通規格なのだ。 言ってしまえば音楽ファイルのMIDIも、同じ規格で「音源と通信している」のだから。 姿を消したのはあくまでインターネット上の音楽ファイルであり、MIDIそのものの存在が消えたわけではない。 ノートのデータとして作曲者と編曲者の間でやり取りをしたり、後述するような用途としては今も現役で使われているのだ。 …逆に言えば、ノート情報以外の多くはほとんど使われなくなっているとも言えるが。 MIDIデバイス 規格の基本的な考え方はこれ。主に使うのはMIDIキーボード(鍵盤)。 PCとMIDIキーボードをMIDIケーブルで繋いで鍵盤を押すと、 「押した鍵盤の音階(ドとかオクターブとか)」「押した強さ(ベロシティと呼ぶ)」 などの情報がPC側に送られる。 この情報のルールこそがMIDIのもう一つの重要な役割なのだ。 これはファイルとしてMIDIに記録された情報と共通である。 PCではなく音源につなげば、そっちの音が鳴る。 MIDIに対応した音源とキーボードであれば、同じMIDIケーブルでやり取りできるというわけ。 アニヲタにも有名な桃井はるこなどが使用していた、ギターのように肩に掛けて縦に構えるキーボード・通称ショルキーは、言ってしまえばコントローラーでしかなく、別途音源と接続する必要があり、単体で音が鳴る機能は搭載されていないことが殆どだったりする。 まあもっとも最近は、より高機能な情報を送るためにUSBで直接繋ぐMIDIキーボードだとか、 そういうのが主流になっているので一般向けMIDIケーブル自体絶滅が危ぶまれる存在ではあるのだが…。 もう絶滅してるって? 嘘だと言ってよ…。 とはいえUSBケーブルで繋いでもMIDIはMIDI。 この場合、必ずキーボード用のデバイスが自動的にインストール、またはメーカーサイトからダウンロードでき、 外部デバイスとして疑似的にMIDIをやり取りできる。 著名なDAWには大抵MIDIの設定があり、MIDIケーブルを用いなくともデバイスから入力をきちんと受け取れるのだ。 (ここまでくるとMIDIと呼ぶのも慣例みたいなものだろうか?) シンセサイザー ここでシンセサイザーのご登場である。 シンセサイザーとは、その多くがMIDIキーボード+音源+αという合体欲張りセットだ。 先にMIDIキーボードを説明したのはこのためで、シンセは合体技であるがゆえに独自の機能を持ったものも多く、 ここから入った人がDTMで混乱する原因になっている。 もちろんシンセの多くはMIDIキーボード単体として使うことができるし、音源単体として使うこともできる。 スピーカーがついたものはスピーカーとして…は普通はしない、普通は。 同期信号を送り出す機能があるなら司令塔としても使える。 そんな訳でシンセは高価になる。 買おうと思った人は値段に驚くだろうが、合体技と思えばコストが高いのも納得というもの。 DTMに限った場合、昨今のDTM事情がDAWの独壇場になっているので音源はそもそも出番があまりない。 DAWが顕著だが、メーカーや関連各社が売りとして心血注いでソフトウェア音源を作りまくっており、 外部のハードウェア音源は無理に用意する必要がないのだ。 言ってしまえばシンセサイザーはライブシーンに向いた「まさに楽器」。 逆に言えばオフライン作曲が主体なら無用の長物であり、鍵盤が欲しいならMIDIキーボードで十分なのである。 (もちろんその場合でも、ちょっとした時にPCを起動せずすぐ弾きたい…という人は検討する価値はある。) 通信カラオケ 一方で通信カラオケ業界においてはまだまだ現役。 カラオケ機には今でもインターネットを介して最新曲のMIDIデータが提供されて続けており、内蔵された音源で音楽を再生するという、 いわば往年のハードウェア音源同様の仕組みが健在なのである。 最近では原盤と同じサウンドを使用したカラオケの割合も増えてきたが、カラオケ用のMIDIデータを製作するサウンド製作業務も未だに活発。 またMIDIのメロディ譜をそのまま演奏に使わず、歌の採点に利用するといった応用例も存在する。 MIDIのさらに規格 MIDIにはそれはそれで規格がある。 ヤマハとローランドが別々に独自のもの(ヤマハ=XG、ローランド=GS)を作っていた。何してくれとんじゃ 後年になって、互換性の強化を目標に、それぞれのいいとこどりの下位互換としてGMが新たに提唱され、後継規格としてGM2も誕生したが、むしろそっちの方があまり使われなかった。 本記事での音楽ファイルとしては「スタンダードMIDIファイル」(SFM)の規格しか説明していないので、 詳しくは…といってもエンジニアでなければそう必要な知識でもなさそうだが調べてみてほしい。 オタクとMIDI かつて(90年代後半~00年代前半頃)、インターネットにオタクが築いた文化の一つに「コピーMIDI」があげられる。 これは主にゲームやアニメの音楽を耳コピ・アレンジして作ったMIDIデータである。 当時はゲーム音楽などは基本的にサントラを買わなければ聴くことができず、無料でゲーム音楽が聴けるというのは貴重であった。 悪く言えば模造品とは言え、表現の手段が限られていたため試行錯誤も進み、クオリティの高いものもそこそこ生まれた。 軽量(多くても滅多に100KBいかないレベル)で、当時の遅い回線速度でも配布が容易ということもあり、当時のDTMerの手によって非常に多く作られた。 だが、音楽ファイルとしてのMIDIで触れたとおり、時代の変化と共に数を減らしていく。 音楽をアップロードできるサービスなどの台頭もあって、個人サイトは次々と閉鎖。 コピーMIDI文化はほぼ途絶える事になる。 コピーMIDIとは別に自作の音楽を作成するユーザも多く、自作ゲーム用のフリー音源や個人サイトのBGMとしても人気だった。 こちらは数を減らしたものの現在でも残っている文化ではあるが、やはり殆どのサイトはmp3に移行している。 一応、長年製作し続けている一部のサイトには昔の作品としてMIDIが残っていたりすることもしばしばある。 昨今のアニソン・ゲーソン界隈ではSound Horizon主催のREVOやアルトネリコシリーズの楽曲を手掛ける志方あきこなど、個人サイトで自作のオリジナルMIDIを公開したことがキャリアの始まりというクリエイターも少なくなかったりする。 他に、オタク間で囁かれる逸話として「JASRACがコピーMIDI界隈を潰した」というものがある。 MIDIに触れていたオタクの諸兄ならば一度は耳にした事があるだろう。 クリックで展開 いきなり結論から言えば話半分に聞いておくのが正解である。否定も肯定もしない方がよい。 逸話の大筋は 「コピーMIDIを作成・配布しているサイトのBBSに、JASRACが要求を書き込み、裁判沙汰になる事を恐れたサイトが閉鎖した」 というものなのだが、JASRACを名乗る書き込みを見たという証言はあっても、 公開停止の要求、金銭の要求、証明の要求、裁判を唆すなど細部にはバラつきがあり一定しない。 当時の書き込みが現存していないので確かめようもないのである。 にもかかわらず、インターネットの賛否の大半がなぜかJASRACの正式な書き込みとして扱っており、ますます謎が深い。 疑問としては JASRACはアニメ音楽はともかくゲーム音楽の権利はほとんど持っていない JASRACの証明や金銭の振込先など具体的な部分が不明 リアル連絡先もないホームページを当時のリテラシーでどう訴えるつもりだったのか なぜ連絡先の明確なメールでなくBBSの書き込みだったのか 「MIDI文化の壊滅」まで行くには相当な範囲に同じ書き込みがあったはずなのに証言が少なすぎる などが挙げられる。 とはいえこれも所詮は疑問でしかなく、これだけを根拠にデマとまでは断言できない。 もしかしたら書き込みは実際にJASRACだったかもしれないし、 もしかしたら第三者が書き込んだ嫌がらせだったのかもしれない。 もしかしたらJASRACが耳コピMIDIを排除しようと動いていたかもしれないし、 もしかしたらなんか別件でやらかしたサイトの閉鎖騒動に尾ひれがついたのかもしれない。 真相は闇の中である。 JASRACは色々と問題も目立つ組織ではあるが、本件に関しては「それはそれ・これはこれ」と分けて考えた方がいいだろう。 MIDI編集アプリ(作曲アプリ) 楽譜に過ぎないデータを扱えればよいので、MIDIを編集できるソフトウェアは無料のものも充実している。 一方で時代に合わなくなってきた影響か、DAWなどではオマケ程度にしか使えないものが増えていたりする。 とはいえ、MIDIファイルからノートを読み込む機能は今も大抵のDAWが保有している(はず)。 違うDAW同士でノートを移したい時なんかにも使えるので、実は思ったより活躍しているのだ。 話を戻すが、中には五線譜形式でMIDI編集できるソフトなんかもある。 また、大抵のPCでほぼ標準でMIDI用のソフトウェア音源が搭載されているので、 MIDI編集は無料で始められるということで今でもオススメされやすい。 昔に比べるとさすがに更新が止まっているものも多いので、 お使いのPCに適合しているかどうかは事前に確かめておこう。 …もっとも、MIDIから作曲に入ってもゆくゆくはDAWに乗り換えなければならない。 少なくともDTMにおいてMIDIだけではパワー不足であり、MIDIによる作曲はあくまで無料でできる事と、 ピアノロールといった極めて基本的なDTMの知識が身に付く程度である。 まったくの無意味とは口が裂けても言えないが、本気で作曲をするならば早々にDAWにも触っておく事をオススメする。 まあそのDAWも種類が沢山ある上にどれも慣れるまで修練が必要で悩まされる事になるのだが…。 MIDIのこれから インターネット老人会レベルの古い規格でありながら未だ使われ続けているMIDIだが、規格の大半はもはや化石レベル。 たとえば当時想定されていたMIDIキーボードと音源の複数のやり取りは、 キーボード(MIDI OUT) → (MIDI IN)音源1(MIDI THRU) → (MIDI IN)音源2(MIDI THRU) → ... こんな感じで数珠つなぎであり、今どきこんなものでは管理は面倒だし現場の兼ね合いは煩雑になる一方。 MIDIに頼る必要のないシステムがとうに台頭した現在ではMIDI THRU端子口などは絶滅している。 そんな中、MIDIは新たな規格「MIDI 2.0」が策定中となっている。 MIDI 1.0の策定は1981年で実際はインターネット老人会すら恐れ戦くもので、 38年後、つまり2019年にその2.0が発表されたわけだが… あの… いつになったら策定完了するんです…? 追記・編集はMIDI端子口の見た目ってなんかキモイよねと罵りながらお願いします。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- ▷ コメント欄 [部分編集] MIDIは楽譜 知らなかったそんなの… -- 名無しさん (2021-11-04 15 09 08) 耳コピ音源のmidiとかよく聞いてた思い出。自分のネット老人化にびびる…… -- 名無しさん (2021-11-04 17 38 45) ガラケーの着メロとの互換性についても追記できるんじゃね? -- 名無しさん (2021-11-04 17 47 23) 楽譜ということで大体察した人も多いだろうが、とにかく作曲者の意図した通りに鳴らすのがまず困難だったのだ…。作者の想定したMIDI音源を使わないとすぐに破綻する。当時はマザーボードに音源機能は無かったから音源自体も高価。ソフトウェア音源だと重くてゲームに不向き…。 -- 名無しさん (2021-11-04 18 50 15) 音源によって全然違う曲になるからなあ。仕組み知らなかった頃はPC買い換えたら好きな曲が別物になって戸惑った記憶 -- 名無しさん (2021-11-04 18 55 25) トラウマ邦画と名高い震える舌(80年)、実はあれの劇伴は最初期のMIDIで作られたとのこと(by10年代になって出たサントラより)。それで今のMIDIで再奏したのがボーナストラックに入ってて面白いなと↑2東方原曲の配信解禁は本当に助かった… -- 名無しさん (2021-11-04 19 17 32) ↑3 例えるならピアノで鳴らす音でも普通のピアノと玩具のピアノとでは全然違うようなものか -- 名無しさん (2021-11-04 20 02 24) え、「JASRACがコピーMIDI界隈を潰した」って違うの? -- 名無しさん (2021-11-04 20 05 57) ↑デマに踊らされてるで…単純に技術と時代の変化による自然淘汰に近い感じで消えてっただけ -- 名無しさん (2021-11-04 22 14 58) ↑2 違うというより、否定も肯定もせず話半分に聞いておくのが正解。MIDI文化を壊滅させるほど大規模に(しかもメールでなくBBS…)仕掛けられたはずなのに否定派も肯定派も根拠のある具体例が出せず又聞きのような事しか言ってない。なぜか「JASRACのせいではないと主張する人も含めて」BBSでの行為があった前提で組んでいる時点でこう、つついても正確な情報は出てこないと思っていい。 -- 名無しさん (2021-11-04 22 17 36) 80年代のテクノ音楽はコレによって一気に便利になった。MIDIが無かった頃は、コンピューターで楽譜を作ってそれをシンセに読み込ませて自動演奏&録音しようにも機種によって規格がバラバラだったり、そもそも使いにくかったりで敷居がかなり高かったのが、MIDIのおかげでプロでもアマチュアでも安心して使える共通の規格が確立された。年代的に、YMOはMIDIは使っていないだろうがTM Networkなら使ってるはず。 -- 名無しさん (2021-11-04 22 55 59) RPGツクール2000時代のフリーゲームといえば、だいたいMIDIがむき出しで配置してあるもんだった まさに楽譜だから、音楽ツクールとかで簡単に編集も出来る -- 名無しさん (2021-11-04 23 43 48) ↑5 正当な手続きが必要だと知らなかった、手続きするのマンドクセで消えた。敷島さんところが現在もやってる。 -- 名無しさん (2021-11-05 02 22 34) 個人的にはMIDIといえばRPGツクール2000のイメージが強い(当初はMIDI以外使えなかった)。FREEDOM HOUSE 2ndとTAM Music Factoryには本当にお世話になった… -- 名無しさん (2021-11-05 06 03 55) X68000時代に結構盛り上がってけど高くて手が出せなかったなぁ。コナミが出してたCD聞いて「実機で聞きてぇ」と涙した思い出 -- 名無しさん (2021-11-05 07 52 43) 「ジャスラックの方から来ました、現在過去未来に渡って版権MIDIを公開していないことを証明できないならば××万円お支払い願います」という嫌がらせで公開取りやめたサイトはあるな。それが噂の原因とは言い切れんが -- 名無しさん (2021-11-05 08 23 37) ↑おそらくそれが出元なんだけど、アニメはともかく今も昔もゲーム音楽の権利のほとんどはJASRACは持っていない上にリアル連絡先もないホームページをどうやって訴えるのかとか、どうやって自身をJASRACと証明するつもりだったのか(なんでメールでなくBBS…?)、と疑問がでてくる。あるサイトがそれを理由に閉鎖したとしても、「MIDI文化の壊滅」まで行くには相当な絨毯爆撃が必要だと思うんだけど、僅かな一例しか出てこないんよね。JASRACを擁護する気はさらさらないけど、あまり信用できそうな伝聞ではない事は確か。 -- 名無しさん (2021-11-05 08 57 53) ホームページのトップで爆音で流すのはやめてください。 -- 名無しさん (2021-11-05 17 33 59) MIDIといえば爆音の印象がすごい -- 名無しさん (2021-11-06 03 23 13) スマホでも聴ける。どれほど需要があるのかは知らないが。 -- 名無しさん (2021-11-07 04 28 02) ギター界隈だと、デジタルエフェクター同士 -- 名無しさん (2022-06-29 11 28 36) 名前 コメント
https://w.atwiki.jp/ano_gakki/pages/22.html
イノセンサーのMIDI対応(Air Play)について 「MIDI対応やAirPlayがよくわからない!」というご意見が多かったので、ちょっと補足しておきます。 対応しているMIDIファイル形式(SMF)は、Format0と呼ばれるものです。 Format0では、すべてのデータが1トラック、1チャンネルにまとめられて記録されている。 イノセンサーは4音同時再生まで対応なので、一つのトラックにまとめられたMIDIデータのうち、同時に4音以上鳴るときには、以降のコマンドを無視して発生しません。 また、音色切り替えなどのコマンドには対応していないため、あらかじめ設定してある音色ですべてのパートが再生されます。 自分であてぶり用のMIDIファイルを作成する場合にはよいのですが、すでにあるMIDIファイルを読み込ませるときには、Format0への変換が必要です。 フォーマット変換には、ExSMFなどのツールなどを使うことによって変換することが出来ます。 このように、用意したMIDIファイルをWebページにアップロードし、イノセンサーの設定画面にて、アップロードしたMIDIファイルのURLを入力してアプリに読み込みます。
https://w.atwiki.jp/vst_prog/pages/80.html
トップページ MIDIメッセージを処理するVSTについて2 MIDIメッセージ処理 No1~No5で作成したVSTのMIDI処理については、どんなVSTでもほぼ共通の処理となる。 コードを再利用しやすいように、ここではシステムエクスクルーシブを除くMIDIメッセージに関する処理をクラスとしてひとまとめにする。 MIDIメッセージを処理するクラスは自作VSTクラスで下記のように継承できるように作成する。 class MyMidiSampleVST2 public AudioEffectX , public CMidiMsg // CMidiMsgが今回作成するクラス{: // 以下省略:}; ここで作成するVSTサンプルのソースコード全体はここにある。 MIDIメッセージ処理用クラス定義 MIDIメッセージ処理用クラスは以下のように定義する。(全体は長いので一部省略している。全体はここにある。) class CMidiMsg{protected int cur; //読み込み中のMIDIの位置int num; //受け取ったMIDIメッセージの数MidiMessage buf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファpublic CMidiMsg(void);~CMidiMsg(void); // バッファのクリア等を行う。virtual void clearMidiMsg(); // MIDIメッセージをバッファに追加する// バッファへの追加が成功すると1、失敗すると0を返すvirtual int addMidiMsg(VstMidiEvent *midievent);virtual int addMidiMsg(MidiMessage msg); // バッファからMIDIメッセージを取り出すvirtual MidiMessage getMidiMsg(); // バッファ中にあるMIDIメッセージの数を返すvirtual VstInt32 getMidiMessageNum(); // バッファから最初に取り出せるMIDIメッセージのDeltaFramesを返すvirtual VstInt32 getNextDeltaFrames(); // MIDIメッセージが何かを判断し、そのメッセージに対応した// onMidiKeyOn()関数、onMidiControlChange()関数等を呼び出す。// 引数なしの場合、内部でgetMidiMsg()が使用されるので注意。virtual void midiProc(MidiMessage mididata);virtual void midiProc() { MidiMessage mididata = getMidiMsg(); midiProc(mididata); }; // midiProc()関数から呼び出される。// それぞれのMIDIメッセージに応じて処理を行う// 以下6つはオーバーライドして使うvirtual void onMidiKeyOn (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空virtual void onMidiKeyOff (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空: // 長いので省略:}; 解説 まず、MIDIメッセージのや書き込みのためのバッファと読み出し位置や書き込み位置の変数を定義している。 これらは他のクラスから読み込まれることはないのでprotectedで宣言している。 protected int cur; //読み込み中のMIDIの位置 int num; //受け取ったMIDIメッセージの数 MidiMessage buf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファ 次に以下2つの操作を行うための関数を定義している ホストアプリケーションからのMIDIメッセージの受け取る際に使用する関数(processEvents()関数内で呼び出される関数) メンバ関数 戻り値 引数 内容 clearMidiMsg() なし なし MIDIメッセージを受け取るMIDIバッファを初期化する関数。 addMidiMsg() int VstMidiEvent *midievent MIDIメッセージをMIDIバッファへの保存する関数。引数は受け取るMIDIメッセージ(VstMidiEvent型のポインタ)MIDIバッファへの追加に成功すると1、失敗すると0が返る。 受け取ったMIDIメッセージを処理する関数(processReplacing()関数内で呼び出される関数) メンバ関数 戻り値 引数 内容 getMidiMessageNum() VstInt32 なし MIDIメッセージ有無のチェックに利用する関数。戻り値はMIDIバッファにあるMIDIメッセージの数。 getNextDeltaFrames() VstInt32 なし processReplacing()関数内で次のMIDIメッセージを処理するタイミングを返す関数。戻り値は処理すべきフレーム(0~sampleFramesの範囲の値) getMidiMsg() MidiMessage MIDIバッファからのMIDIメッセージの取り出す関数。戻り値はMIDIメッセージ構造体 midiProc()関数 なし MidiMessage mididata 引数のMIDIメッセージに応じて処理を実施する。引数は処理するMIDIメッセージ midiProc()関数では各MIDIメッセージ(KeyOn、KeyOff、ControlChange等)を処理するメンバ関数を呼び出す。 これらの関数(onMidiKeyOn()関数、onMidiKeyOff()関数 等)についても、定義している。 midiProc()関数から呼び出されるメンバ関数 メンバ関数 戻り値 引数 内容 onMidiKeyOn() なし MIDIメッセージがKeyOnの際に呼び出される。 onMidiKeyOff() なし MIDIメッセージがKeyOffの際に呼び出される。 onMidiProgramChange() なし MIDIメッセージがプログラムチェンジの際に呼び出される。 onMidiPoliKeyPress() なし MIDIメッセージがポリフォニックキープレッシャーの際に呼び出される。 onMidiChannelPress() なし MIDIメッセージがチャンネルプレッシャーの際に呼び出される。 onMidiPitchBend() なし MIDIメッセージがピッチベンドチェンジの際に呼び出される。 onMidiSystemMessage() なし MIDIメッセージがシステムコモンメッセージ、システムリアルタイムメッセージの際に呼び出される。システムメッセージに応じてさらにonMidiQuarterFrame()関数、onMidiSongPointer()関数などが呼び出される onMidiControlChange() なし MIDIメッセージがコントロールチェンジの際に呼び出される。コントロールチェンジメッセージに応じてさらにonMidiCC000()~onMidiCC127()の関数が呼び出される。 次へ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)
https://w.atwiki.jp/evangame_2nd/pages/24.html
よくRPGツクールはMIDIまわりのトラブルが多いと聞きます。 このページでは、MIDI関連の情報を記載する予定です。 MIDI関連のトラブル 有名なのは音化け(全部PIANO化)や無音、音程やエフェクトのかかり具合の異常等です。 ググって見たところこれらの多くの問題は、Harmony.dllの仕様によるもののようです。 RPGツクール2000 ver1.51以降 及び 2003 ver1.06以降 Harmony.dllの仕様変更にともない、トラブルが激減しました。 また余談ですが、BGM(Music)にmp3ファイルの使用も可能となりました。 上記のバージョンを使っている場合、トラブルは回避されると思います。 RPGツクール2000 ver1.50以下 及び 2003 ver1.05以下 闘グラフィック表示の優先順位の仕様の変更等で過去のバージョンを分けてインストールしていらっしゃる方もいると思うので掲載しておきます。 なぜ音化けが起こるのか RPGツクール200xでは「Harmony.dll」というファイルを使用し、MIDIデータの再生を管理しています。「Harmony.dll」は曲の再生と同時に自動的にGM Level 1で音源をリセットする仕様になっているようです。 ところが、多くの場合、MIDIファイルに初期化メッセージ(エクスクルーシブ)を挿入されています。これはMIDI製作者にとって常識だからです。 結果、「Harmony.dll」の音源の初期化処理とMIDI側の初期化処理が、ほぼ同時に行われてしまい、PC(又は音源)が処理し切れずにその後に配置してあるイベントまでもが無視されてしまうわけです。 一般的に初期化信号のあとには、トラックごとの情報(Program Change、Control Change等)が格納されているため、これらが送信されないと、全てのトラックがピアノのままになってしまいます。 補足 「Harmony.dll」は曲の再生と同時に音源のリセット(GM)をかけるのですが、 その後、一番最初のノートイベント(音符)迄を高速処理しているものと思われます。 MIDI創作者が曲の先頭にリセットを挿入していない場合には音化けしないのはその為 でしょう。 しかし、この高速処理の為に音源のリセット中に音色が指定されてしまい、上記の様な 事態を引き起こしていると考えられます。 対策 アップデートしてバージョンアップする 最も簡単かつ安全。だが他の仕様も変わるので注意。 音源初期化のエクスクルーシブを削除する トラックの初期化情報は当然残します。 MIDIデータ先頭(Meas 0 Tick 0000)にベロシティ0の無音ノートを挿入 補足にあるように、、一番最初のノートまで高速再生しますから、データの先頭に ノートイベントがあれば、高速読み込みは無効となります。 ですが、曲の読み込み速度が若干落ちる可能性もありますので注意してください。
https://w.atwiki.jp/ruwigi310/pages/13.html
このページについて 自分の作ったMIDIをまとめるところです。ここで評価が悪かったりしたら、黒歴史MIDIに放り込みます。 MIDIは動画とWAVファイルでアップロードします。 作成済みMIDI 未完成MIDI
https://w.atwiki.jp/kisaiya/pages/1575.html
MIDI MIDI 南予 宇和島市 愛媛県 音楽 トレーニングCD、カラオケCDをMIDI で打ち込みをやっている人、よろしく。 情報をお寄せください。一番下にゲストユーザー向け書き込み欄があります。 名前 コメント #bf
https://w.atwiki.jp/welovemidna/pages/10.html
主にミドナスレにのせられたMIDIを載せます。MIDIというか、MIDIのサイトですね ■MIDIのサイトですが・・ ■同じくMIDIサイトです